*---------------- Structure of the Main Application Object --------------*
rsreset
GWVA_APP_OBJ_FLAGS: rs.b 1
; bit 0 : (0) le ressource doit être chargé, (1) il est en mémoire
; bit 1 : (0) un seul ressource (1) liste de ressorces en fonction de la resolution
; bit 2 : (0) pas de background (1) image de fond si APP
; bit 3 : (0) background normal (1) centrage auto de l'objet 1
; bit 4 : (0) pas de menu principal (1) le menu principal doit etre geré par le VA
GWVA_APP_OBJ_STATUS: rs.b 1
; bit 0 : (0) application non iconifiée (1) iconifiée
GWVA_APP_OBJ_TSR_SIZE: rs.l 1 ; longueur à sauvegarder (page de base y compris) pour les TSR, 0.l si pas TSR
GWVA_APP_OBJ_REG_NAME: rs.l 1 ; ptr sur le nom pour le MENU_REGISTER (REG_NEWNAME) (8 caracteres)
GWVA_APP_OBJ_ACC_NAME: rs.l 1 ; ptr sur le nom pour le MENU_REGISTER
GWVA_APP_OBJ_RSC_INFO: rs.l 1 ; ptr soit sur le path-name soit sur l'adresse du ressource,
; ou bien sur un liste de ptr pour chaque nbre de coul. : 2, 4, 16, 256, pas de palette (5*1.L)
; 0.l si pas de ressource
GWVA_APP_OBJ_BACKGROUND_WIND_PTR: rs.l 1 ; pointeur sur un objet fenetre
GWVA_APP_OBJ_MAIN_MENU_PTR: rs.l 1 ; 0.l si pas de menu ou 1 pointeur sur une structure menu (GWVA_MENU_STRUCT)
GWVA_APP_OBJ_ALL_ICON_PTR: rs.l 1 ; ptr sur une structure de fenêtre
GWVA_APP_OBJ_M1FLAG: rs.w 1 ; entrée de zone (0) sortie (1)
GWVA_APP_OBJ_M1X: rs.w 1 ; position et taille de la zone (<> 0 pour être actif)
GWVA_APP_OBJ_M1Y: rs.w 1
GWVA_APP_OBJ_M1W: rs.w 1
GWVA_APP_OBJ_M1H: rs.w 1
GWVA_APP_OBJ_M2FLAG: rs.w 1 ; entrée de zone (0) sortie (1)
GWVA_APP_OBJ_M2X: rs.w 1 ; position et taille de la zone
GWVA_APP_OBJ_M2Y: rs.w 1
GWVA_APP_OBJ_M2W: rs.w 1
GWVA_APP_OBJ_M2H: rs.w 1
GWVA_APP_OBJ_COUNT: rs.l 1 ; valeur du timer (<> 0 pour être actif)
GWVA_APP_OBJ_CUSTOM_INITS: rs.l 1 ; initialisation perso avant la boucle GEM d'attente
; A suivre tous les évènements que peut recevoir l'objet 'application'
GWVA_APP_OBJ_AC_OPEN: rs.l 1
GWVA_APP_OBJ_AC_CLOSE: rs.l 1
GWVA_APP_OBJ_AP_TERM: rs.l 1
GWVA_APP_OBJ_AP_TFAIL: rs.l 1
GWVA_APP_OBJ_SHUT_COMPLETED: rs.l 1
GWVA_APP_OBJ_RESCH_COMPLETED: rs.l 1
GWVA_APP_OBJ_AP_DRAG_DROP: rs.l 1
GWVA_APP_OBJ_SH_WDRAW: rs.l 1
GWVA_APP_OBJ_CH_EXIT: rs.l 1
GWVA_APP_OBJ_ALL_OTHER: rs.l 1
GWVA_APP_OBJ_EVNT_KEYBD: rs.l 1
GWVA_APP_OBJ_EVNT_BUTTON: rs.l 1
GWVA_APP_OBJ_EVNT_MOUSE1: rs.l 1
GWVA_APP_OBJ_EVNT_MOUSE2: rs.l 1
GWVA_APP_OBJ_EVNT_TIMER: rs.l 1
*------------------- Structure of The Menu Objects ----------------------*
rsreset
GWVA_MENU_STRUCT_INDEX: rs.w 1 ; Index du tree du menu dans le ressource
GWVA_MENU_STRUCT_PTR: rs.l 1 ; pointeur sur le tree du menu dans le ressource
GWVA_MENU_STRUCT_SCROLL_INDEX: rs.w 1 ; nombre de titre décalé (0 pour le menu complet)
GWVA_MENU_STRUCT_LIST_ATTACH_PTR: rs.l 1 ; 0.l si aucun sous menu ou 1 ptr sur un tableau de pointeurs sur des structures GWVA_SUB_MENU terminé par 0.l
GWVA_MENU_STRUCT_START_LIST: rs.w 0
; 1.w : numéro du menu
; 1.w ; le shortcut éventuel (0 si pas)
; 1.b pour le masque de bits des touches spéciales
; bit 0=Rshift, bit 1=Lshift, bit 2=Ctrl, bit 3=Alt
; 1.b pour le scan-code US !!! sera converti en langue locale
; 1.l : poiteur sur la routine associée
; -1.w à la fin
; retour : d0=Top menu sélectionné
; d1=Menu-item Idx
; d2=Menu Idx
; a0=Tree ad.
; CTRL : dc.w MNU_DESK_INFO,$00*256+'i'-'a'+1; Ctrl - a
; ALT : dc.w MNU_FILE_WIND,$08*256+'a' ; Alt - a
; Prendre son copain dium
; regarder l'ikbd.w donné pour cette combinaison sans shift
; si l'octet bas est non nul : valeur ASCII : on se fout des touches spé
; s'il est nul, c'est un scancode alors, en plus des touches spé :
; 1) si la touche correspond à quelquechose d'ASCII, le mettre
; 2) sinon, (par ex. F1) mettre le scancode +$80
; dès que l'on a pas $80+..., le masque de touches spé est indifférent
; Pas de shortcut utilisant Alt et une touche strictement à droite de 8
rsreset
GWVA_SUB_MENU_TREE_OBJ_ATTACHED: rs.w 1 ; Menu Tree contenant le menu auquel on veut attacher un sous menu
GWVA_SUB_MENU_OBJ_IDX_ATTACHED: rs.w 1 ; Index du menu auquel on va attacher un sous menu
GWVA_SUB_MENU_TREE: rs.w 1 ; Index du tree qui contient le dessin du sous menu
GWVA_SUB_MENU_INDEX: rs.w 1 ; Index du dessin père dans le ressource
GWVA_SUB_MENU_WHICH_ALIGN: rs.w 1 ; Quel fils du père ci-dessus doit être aligné avec le menu de départ
GWVA_SUB_MENU_SCROLL: rs.w 1 ; Scrollable ? (0) non (1) oui
GWVA_SUB_MENU_STRUCT_START_LIST: rs.w 0
; 1.w : numéro du menu
; 1.w ; le shortcut éventuel (0 si pas)
; 1.b pour le masque de bits des touches spéciales
; bit 0=Rshift, bit 1=Lshift, bit 2=Ctrl, bit 3=Alt
; 1.b pour le scan-code US !!! sera converti en langue locale
; 1.l : poiteur sur la routine associée
; -1.w à la fin
; retour : d0=Top menu sélectionné
; d1=Menu-item Idx
; d2=Menu Idx
; a0=Tree ad.
rsreset ; structure des shortcuts des menus et sous-menus
GWVA_MENU_OBJ_DEF_OBJ_NUM: rs.w 1 ; numéro du menu
GWVA_MENU_OBJ_DEF_OBJ_SHORTCUT: rs.w 1 ; le shortcut éventuel (0 si pas)
GWVA_MENU_OBJ_DEF_OBJ_PTR: rs.l 1 ; poiteur sur la routine associée
GWVA_MENU_SHORCUT_STRUCT_LENGTH: rs.w 0
; fin par -1.w
*------------------- Structure of the Window Objects --------------------*
rsreset
GWVA_WIND_OBJ_FATHER_PTR: rs.l 1 ; 0.l si pas d'objet père
GWVA_WIND_OBJ_NEXT_BROTHER_PTR: rs.l 1 ; 0.l si pas d'objet frère
GWVA_WIND_OBJ_FIRST_SON_PTR: rs.l 1 ; 0.l si pas d'objet fils
GWVA_WIND_OBJ_FLAGS: rs.w 1 ; same as GEM bits
; 0 : name
; 1 : close
; 2 : full
; 3 : move
; 4 : info
; 5 : size
; 6 : up arrow 7 : down arrow 8 : v slide
; 9 : left arrow 10 : right arrow 11 : h slide
;14 : smaller
GWVA_WIND_OBJ_STATUS: rs.w 1
; 0 : GWVA_WIN_BIT_FULL : 1=fulled
; 1 : GWVA_WIN_BIT_OPEN : 0=closed, 1=opened
; 2 : GWVA_WIN_BIT_CURS : 1=curseur du champ éditable affiché
; 3 : GWVA_WIN_BIT_ICON : 1=iconified
; 4 : GWVA_WIN_BIT_NAMIFIED : 1=window reduced to a title (and info)
; 5 : GWVA_WIN_BIT_FOCUSED : 1=window has the focus
; 6 : Reserved, must be 0
; 7 : Reserved, must be 0
; 8-15 : Free for user
GWVA_WIND_OBJ_PROPERTIES: rs.w 1
; 0 : GWVA_WIN_BIT_HIDETREE : 1=toolbar will not be taken into account
; 1 : GWVA_WIN_BIT_AMENU : 1=window has got a menu atached
; 2 : GWVA_WIN_BIT_CTRLC : 1=supports CTRL+C
; 3 : GWVA_WIN_BIT_CTRLV : 1=supports CTRL+V
; 4 : GWVA_WIN_BIT_CTRLX : 1=supports CTRL+X
; 5 : Reserved, must be 0
; 6 : Reserved, must be 0
; 7 : Reserved, must be 0
; 8 : GWVA_WIN_BIT_COPYXY : 1=automatically copy window current_x,y to first_x,y when closed
; 9 : GWVA_WIN_BIT_AUTODEL : 1=automatically delete window when closed
;10 : GWVA_WIN_BIT_FREEPTR1 : 1=automatically MFREE USER_PTR1 if window deleted
;11 : GWVA_WIN_BIT_FREEPTR2 : 1=automatically MFREE USER_PTR2 if window deleted